package me.mrCookieSlime.Slimefun.Setup;

import java.io.File;

public class Files {
	
	public static File RESEARCHES = new File("plugins/Slimefun/Researches.yml");
	public static File CONFIG = new File("plugins/Slimefun/config.yml");
	public static File ITEMS = new File("plugins/Slimefun/Items.yml");
	public static File DATABASE = new File("data-storage/Slimefun/Players");
	public static File WHITELIST = new File("plugins/Slimefun/whitelist.yml");
	
	public static void cleanup() {
		if (!RESEARCHES.exists()) {
			System.err.println("################################################");
			System.err.println("################################################");
			System.err.println("############### = - ERROR - = ##################");
			System.err.println("################################################");
			System.err.println("################################################");
			System.err.println("      ");
			System.err.println("Slimefun 警告:");
			System.err.println("         ");
			System.err.println("Slimefun 检测到你的文件过时或不存在...");
			System.err.println("插件已经重新生成了新的文件,以确保它可");
			System.err.println("以正常工作,如果你曾经使用过 Slimefun");
			System.err.println("那么你原来的配置将会丢失...");
			System.err.println("但是现在 Slimefun 可以正常工作了!");
			System.err.println("        ");
			System.err.println("################################################");
			System.err.println("################################################");
			System.err.println("############### = - ERROR - = ##################");
			System.err.println("################################################");
			System.err.println("################################################");
			delete(new File("plugins/Slimefun"));
			delete(new File("data-storage/Slimefun"));
		}
		
		if (!DATABASE.exists()) {
			DATABASE.mkdirs();
		}
	}
	
	public static void delete(File folder) {
		File[] files = folder.listFiles();
		if (files != null) {
			for (File current: files) {
				if (current.isDirectory()) {
					delete(current);
				}
				else {
					current.delete();
				}
			}
		}
		folder.delete();
	}

}
